﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace splashScreen
{
    public partial class Projeto : Form
    {
        
        public Projeto()
        {
            InitializeComponent();
            ServiceReference1.Service1SoapClient x = new ServiceReference1.Service1SoapClient();
 
            comboBox1.DataSource = x.ComboProjeto();
            comboBox1.DisplayMember = "nome";
            comboBox1.ValueMember = "id";
            

        }

        private void projetoBindingNavigatorSaveItem_Click(object sender, EventArgs e)
        {
            String nomeProjeto;
            int id, cliente_id;
            double valor;
            try
            {
                if ((nomeProjetoTextBox.Text != "" && valorTextBox.Text != "" ))
                {
                    //this.Validate();
                    //this.setorBindingSource.EndEdit();
                    ServiceReference1.Service1SoapClient x = new ServiceReference1.Service1SoapClient();

                    id = Convert.ToInt32(idTextBox.Text);
                    nomeProjeto = nomeProjetoTextBox.Text;
                    valor = Convert.ToDouble(valorTextBox.Text);
                    cliente_id = int.Parse(comboBox1.SelectedValue.ToString());
                   
                    x.InserirProjeto(nomeProjeto, valor, cliente_id);
                    MessageBox.Show("Cadastro realizado com sucesso");
                    this.tableAdapterManager.UpdateAll(this.pDSDDataSet);
                    atualizarGrid();
                }
                else
                {
                    MessageBox.Show("Todos os campos devem ser preenchidos");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Não foi possível cadastrar: " + ex.Message);
            }

        }
        private void atualizarGrid()
        {
            ServiceReference1.Service1SoapClient x = new ServiceReference1.Service1SoapClient();
            projetoDataGridView.DataSource = x.ListarProjetos();
        }

        private void Projeto_Load(object sender, EventArgs e)
        {
            // TODO: This line of code loads data into the 'pDSDDataSet.Cliente' table. You can move, or remove it, as needed.
            //this.clienteTableAdapter.Fill(this.pDSDDataSet.Cliente);
            // TODO: This line of code loads data into the 'pDSDDataSet.Projeto' table. You can move, or remove it, as needed.
            //this.projetoTableAdapter.Fill(this.pDSDDataSet.Projeto);
           // atualizarGrid();
        }

        private void toolStripButton1_Click(object sender, EventArgs e)
        {

            DialogResult resultado = MessageBox.Show("Deseja Excluir esse registro?",
                                    "Excluir",
                                    MessageBoxButtons.YesNo,
                                    MessageBoxIcon.Question);

            if (resultado == DialogResult.Yes)
            {
                ServiceReference1.Service1SoapClient x = new ServiceReference1.Service1SoapClient();
                x.ExcluirProjeto(int.Parse(projetoDataGridView.CurrentRow.Cells[0].Value.ToString()));
                MessageBox.Show("Projeto excluído!");
                atualizarGrid();
            }
            else
            {
                atualizarGrid();
            }


            
        }

        private void projetoDataGridView_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            idTextBox.Text = projetoDataGridView.CurrentRow.Cells[0].Value.ToString();
            nomeProjetoTextBox.Text = projetoDataGridView.CurrentRow.Cells[1].Value.ToString();
            valorTextBox.Text = projetoDataGridView.CurrentRow.Cells[2].Value.ToString();
            //cliente_idTextBox.Text = projetoDataGridView.CurrentRow.Cells[3].Value.ToString();
        }

        private void toolStripButton2_Click(object sender, EventArgs e)
        {
            String nomeProjeto;
            int id, cliente_id;
            double valor;
            try
            {
                if ((nomeProjetoTextBox.Text != "" && valorTextBox.Text != ""))
                {
                    //this.Validate();
                    //this.setorBindingSource.EndEdit();
                    ServiceReference1.Service1SoapClient x = new ServiceReference1.Service1SoapClient();

                    id = Convert.ToInt32(idTextBox.Text);
                    nomeProjeto = nomeProjetoTextBox.Text;
                    valor = Convert.ToDouble(valorTextBox.Text);
                    cliente_id = int.Parse(comboBox1.SelectedValue.ToString());

                    x.AtualizarProjeto(id, nomeProjeto, valor, cliente_id);
                    MessageBox.Show("Edição realizada com sucesso");
                    this.tableAdapterManager.UpdateAll(this.pDSDDataSet);
                    atualizarGrid();
                }
                else
                {
                    MessageBox.Show("Todos os campos devem ser preenchidos");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Não foi possível Atualizar: " + ex.Message);
            }
        }

        private void valorTextBox_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (char.IsLetter(e.KeyChar) || //Letras
            char.IsSymbol(e.KeyChar) || //Símbolos
            char.IsWhiteSpace(e.KeyChar) || //Espaço
            char.IsPunctuation(e.KeyChar)) //Pontuação
                e.Handled = true; //Não permitir

        }

        private void btnPesquisar_Click(object sender, EventArgs e)
        {
            ServiceReference1.Service1SoapClient x = new ServiceReference1.Service1SoapClient();
            projetoDataGridView.DataSource = x.BuscaProjeto(txtPesquisar.Text); ;
        }

    }
}
